$(document).ready(function(){
	objFromCombo = null;
	loadToComboBoxUrl("#contaCredito","caixases?find=ByOpen", "usuario.pessoa.nome");
	
	//combobox dependentes
	$("#contaCredito").change(function(event){ 
		objFromCombo = findDataId($("#contaCredito").val() , $("#contaCredito").get(0).dataSource);	
		conta = objFromCombo.conta;
		$("#aberturaData").val(objFromCombo.dataAbertura);
		$("#contaCodigo").val(conta.conta);
	});
	
	$("#valorAbertura").attr('value', '0.00');
	$("#valorFechamento").attr('value', '0.00');	
	var data = new Date();
	dataAt = data.getDate() + '/' + (data.getMonth()+1) + '/' + data.getFullYear();
    
	//datepickers
	datePicker("dataAbertura");
	datePicker("dataFechamento");
	
//	//lançamentos
	var id = "movimentacoesDataGrid";
	var movimentacoesAoColumns = [
	                              			{"sTitle": "Data", "mDataProp": "dataMovimentacao", "sWidth": "40px", "bVisible": true, "sDefaultContent":""},
                                        	{"sTitle": "Descrição", "mDataProp": "observacao", "sWidth": "220px", "bVisible": true, "sDefaultContent":""},
                                        	{"sTitle": "Tipo", "mDataProp": "tipoLancamento", "sWidth": "30px", "bVisible": true, "sDefaultContent":""},
                                        	{"sTitle": "Pagamento em", "mDataProp": "tipoPagamento", "sWidth": "30px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Valor", "mDataProp": "valorMovimentacao", "sWidth": "20px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "", "mDataProp": "htmlControl", "bSortable": false, "sWidth": "3px", "bVisible": false, "sDefaultContent":""}
										];
	oneToMany("movimentacoesDataGrid", JSON.stringify(movimentacoesAoColumns));
	
	$("#btnAbrirCaixa").button({text: true});
	$("#btnFecharCaixa").button({text: true});
	
	$("#btnRelatorio").button({ icons: { primary: "ui-icon ui-icon-print"},text: true});
	$("#btnAtualizar").button({ icons: { primary: "ui-icon ui-icon-refresh"},text: true});
	$("#btnAnterior").button({ icons: { primary: "ui-icon ui-icon-arrowreturnthick-1-w"}, text: true}).click(
			function(){		
				loadPage('listarCaixa', 'listarCaixa', 'Listar caixas antigos', true);
	});
	
	//loadCaixaOpen();
	
});	

function loadCaixaOpen(){
	//checar se tem caixa aberto.
	$.ajax({
		"type": "GET",
		"contentType": "application/json",
		"url": "caixases?find=ByOpen",
		"beforeSend": function(xhr,settings){
						
			$("#"+$("form").attr("id")).validationEngine('hide');
			$("#bg-corpo").block({message: "<img border='0' src='"+"img/ajax-loader.gif"+"'/> &nbsp;Carregando lançamentos em aberto do aluno...",
								 css: { 'border': '0px',
										'background': 'transparent',
										'color': 'white'
								      } 
							});
		},
		"error": trataErro,
		"complete": function(){
			$("#bg-corpo").unblock();
		},
		"success": function(data, textStatus, xhr){
			if(data == ''){
				alert('Não existe caixa aberto para este usuário!\n\nFavor abrir um.');
			}else{
				$("#btnAbrirCaixa").attr('disabled', 'disabled');
				$("#dataAbertura").attr('disabled', 'disabled');
				$("#valorAbertura").attr('disabled', 'disabled');
				$("#dataAbertura").attr('value', data[0].dataAbertura);
				$("#valorAbertura").attr('value', parseFloat(data[0].valorAbertura));
				if(data[0].dataFechamento == null){
					$("#dataFechamento").attr('value', dataAt);
				}else{
					$("#dataFechamento").attr('value', data[0].dataFechamento);
				}
				$("#valorFechamento").attr('value', data[0].valorFechamento);
				$("#id").attr('value', data[0].id);
				$("#version").attr('value', data[0].version);
				carregaLancamentos();
			}
		}
	 });	
}

function openCaixa(){
	registro = $("#"+$("form").attr("id")).formParams(false);
	registro.version = 0;
	delete registro.dataFechamento;
	delete registro.valorFechamento;
	delete registro.id;
	salvarReturn("caixa", "caixases", registro, loadCaixa);
}

function closeCaixa(){
	registro = $("#"+$("form").attr("id")).formParams(false);
	registro.status = "1";
	atualizarReturn("caixa", "caixases", registro, trancaCaixa);		
}

function trancaCaixa(){
	$("#btnAbrirCaixa").attr('disabled', 'disabled');
	$("#dataAbertura").attr('disabled', 'disabled');
	$("#valorAbertura").attr('disabled', 'disabled');
	$("#btnFecharCaixa").attr('disabled', 'disabled');
	$("#dataFechamento").attr('disabled', 'disabled');
	$("#valorFechamento").attr('disabled', 'disabled');
	//fazer a confirmação para impressão.
}

function carregaLancamentos(){
	
	$.ajax({
		"type": "GET",
		"contentType": "application/json",
		"url": "movimentacoescaixases?find=ByCaixa&caixa="+$("#id").val(),
		"beforeSend": function(xhr,settings){
						
			$("#"+$("form").attr("id")).validationEngine('hide');
			$("#bg-corpo").block({message: "<img border='0' src='"+"img/ajax-loader.gif"+"'/> &nbsp;Carregando lançamentos do caixa...",
								 css: { 'border': '0px',
										'background': 'transparent',
										'color': 'white'
								      } 
							});
		},
		"error": trataErro,
		"complete": function(){
			$("#bg-corpo").unblock();
		},
		"success": function(data, textStatus, xhr){
			$("#movimentacoesDataGrid").dataTable().fnAddData(data);
			soma = parseFloat('0.00');
			for(var i in data){
				if(data[i].tipoLancamento == "Credito"){
					soma+= parseFloat(data[i].valorMovimentacao);
				}else{
					soma-= parseFloat(data[i].valorMovimentacao);
				}
			}
			$("#valorFechamento").attr("value", soma);
		}
	 });	
}
